Streamlit 是一個可以用於快速建立互動式網頁應用的 Python 框架。
我目前在工作中有使用 Streamlit 來開發一些 GUI 小工具,例如:
然而,當我將 Streamlit 用於開發一些個人小工具時,例如將純文字檔轉換為 EPUB 或壓縮圖片,我發現了一些不足之處。這些工具通常不需要頻繁更新,因此我希望能將它們打包成一個可執行檔,以便更方便地使用。
在 Windows 系統上,使用 PyInstaller 打包 Python 程式為可執行檔雖然可行,但整個打包過程相對複雜,而且我並不喜歡 PyInstaller 將套件解壓縮到臨時資料夾的方式。
受到 r/golang 頻道上的一則留言激發,
I’d love to see something like streamlit.io written in Go.
假如是 Golang 的話,那打包成 Binary 的問題就直接解決了。
在今年過年期間,我完成了一個非常陽春的版本。在六月中又對其進行了重寫,目前也有一個 Demo 網站。
我計畫在接下來 29 天會整理從最一開始的「 main.go with embed html file」是怎麼走到目前專案狀態「 package + react + e2e-test」,也希望能從大家的反饋中獲取到改進建議。